;Assembler header file for Wimp
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:11:43 2005
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 31 July 1995

        [       :LNOT: :DEF: Wimp_Hdr
        GBLS    Wimp_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_OSSpriteOp
        GBLS    Get_OSSpriteOp
        ]
        [       :LNOT: :DEF: OSSpriteOp_Hdr
Get_OSSpriteOp                  SETS    "GET oslib/OSSpriteOp.Hdr"
        |
Get_OSSpriteOp                  SETS    ""
        ]
        $Get_OSSpriteOp

        [       :LNOT: :DEF: Get_Font
        GBLS    Get_Font
        ]
        [       :LNOT: :DEF: Font_Hdr
Get_Font                        SETS    "GET oslib/Font.Hdr"
        |
Get_Font                        SETS    ""
        ]
        $Get_Font

;Symbols for constants
Wimp_VersionRO2                 *       &C8
Wimp_VersionRO30                *       &12C
Wimp_VersionRO3                 *       &136
Wimp_VersionRO35                *       &15E
Wimp_VersionRO36                *       &168
Wimp_VersionRO37                *       &172
Wimp_VersionRO38                *       &17C
Wimp_VersionRO40                *       &190
Wimp_IconNameLimit              *       12
Wimp_TemplateNameLimit          *       12
Wimp_MenuNameLimit              *       12
Wimp_MenuDepthLimit             *       8
Wimp_CharXSize                  *       16
Wimp_CharYSize                  *       32
Wimp_NullReasonCode             *       &0
Wimp_RedrawWindowRequest        *       &1
Wimp_OpenWindowRequest          *       &2
Wimp_CloseWindowRequest         *       &3
Wimp_PointerLeavingWindow       *       &4
Wimp_PointerEnteringWindow      *       &5
Wimp_MouseClick                 *       &6
Wimp_UserDragBox                *       &7
Wimp_KeyPressed                 *       &8
Wimp_MenuSelection              *       &9
Wimp_ScrollRequest              *       &A
Wimp_LoseCaret                  *       &B
Wimp_GainCaret                  *       &C
Wimp_PollwordNonZero            *       &D
Wimp_UserMessage                *       &11
Wimp_UserMessageRecorded        *       &12
Wimp_UserMessageAcknowledge     *       &13
Wimp_MaskNull                   *       &1
Wimp_QueueRedraw                *       &2
Wimp_MaskLeaving                *       &10
Wimp_MaskEntering               *       &20
Wimp_QueueMouse                 *       &40
Wimp_QueueKey                   *       &100
Wimp_MaskLose                   *       &800
Wimp_MaskGain                   *       &1000
Wimp_MaskPollword               *       &2000
Wimp_MaskMessage                *       &20000
Wimp_MaskRecorded               *       &40000
Wimp_MaskAcknowledge            *       &80000
Wimp_GivenPollword              *       &400000
Wimp_PollHighPriority           *       &800000
Wimp_SaveFP                     *       &1000000
Wimp_Broadcast                  *       &0
Wimp_Background                 *       &FFFFFFFF
Wimp_IconBar                    *       &FFFFFFFE
Wimp_IconBarRight               *       &FFFFFFFF
Wimp_IconBarLeft                *       &FFFFFFFE
Wimp_IconBarLeftRelative        *       &FFFFFFFD
Wimp_IconBarRightRelative       *       &FFFFFFFC
Wimp_IconBarLeftHighPriority    *       &FFFFFFFB
Wimp_IconBarLeftLowPriority     *       &FFFFFFFA
Wimp_IconBarRightLowPriority    *       &FFFFFFF9
Wimp_IconBarRightHighPriority   *       &FFFFFFF8
Wimp_Top                        *       &FFFFFFFF
Wimp_Bottom                     *       &FFFFFFFE
Wimp_Hidden                     *       &FFFFFFFD
Wimp_NoIcon                     *       &FFFFFFFF
Wimp_IconWindow                 *       &FFFFFFFF
Wimp_IconBack                   *       &FFFFFFFE
Wimp_IconClose                  *       &FFFFFFFD
Wimp_IconTitle                  *       &FFFFFFFC
Wimp_IconToggle                 *       &FFFFFFFB
Wimp_IconScrollUp               *       &FFFFFFFA
Wimp_IconVScroll                *       &FFFFFFF9
Wimp_IconScrollDown             *       &FFFFFFF8
Wimp_IconSize                   *       &FFFFFFF7
Wimp_IconScrollLeft             *       &FFFFFFF6
Wimp_IconHScroll                *       &FFFFFFF5
Wimp_IconScrollRight            *       &FFFFFFF4
Wimp_IconFrame                  *       &FFFFFFF3
Wimp_IconIconise                *       &FFFFFFF2
Wimp_FurnitureWhole             *       &0
Wimp_FurnitureBack              *       &1
Wimp_FurnitureClose             *       &2
Wimp_FurnitureTitle             *       &3
Wimp_FurnitureToggle            *       &4
Wimp_FurnitureVScroll           *       &5
Wimp_FurnitureSize              *       &6
Wimp_FurnitureHScroll           *       &7
Wimp_FurnitureIconise           *       &8
Wimp_ChildLinksParentWorkArea   *       &0
Wimp_ChildLinksParentVisibleBottomOrLeft *       &1
Wimp_ChildLinksParentVisibleTopOrRight *       &2
Wimp_ChildLinksParent           *       &3
Wimp_ChildLSEdgeShift           *       16
Wimp_ChildBSEdgeShift           *       18
Wimp_ChildRSEdgeShift           *       20
Wimp_ChildTSEdgeShift           *       22
Wimp_ChildXOriginShift          *       24
Wimp_ChildYOriginShift          *       26
Wimp_WindowMoveable             *       &2
Wimp_WindowAutoRedraw           *       &10
Wimp_WindowPane                 *       &20
Wimp_WindowNoBounds             *       &40
Wimp_WindowScrollRepeat         *       &100
Wimp_WindowScroll               *       &200
Wimp_WindowRealColours          *       &400
Wimp_WindowBack                 *       &800
Wimp_WindowHotKeys              *       &1000
Wimp_WindowBounded              *       &2000
Wimp_WindowIgnoreXExtent        *       &4000
Wimp_WindowIgnoreYExtent        *       &8000
Wimp_WindowOpen                 *       &10000
Wimp_WindowNotCovered           *       &20000
Wimp_WindowFullSize             *       &40000
Wimp_WindowToggled              *       &80000
Wimp_WindowHasFocus             *       &100000
Wimp_WindowBoundedOnce          *       &200000
Wimp_WindowPartialSize          *       &400000
Wimp_WindowFurnitureWindow      *       &800000
Wimp_WindowForegroundWindow     *       &800000
Wimp_WindowBackIcon             *       &1000000
Wimp_WindowCloseIcon            *       &2000000
Wimp_WindowTitleIcon            *       &4000000
Wimp_WindowToggleIcon           *       &8000000
Wimp_WindowVScroll              *       &10000000
Wimp_WindowSizeIcon             *       &20000000
Wimp_WindowHScroll              *       &40000000
Wimp_WindowNewFormat            *       &80000000
Wimp_WindowUseTitleValidationColours *       &1
Wimp_WindowUseTitleValidationString *       &1
Wimp_WindowUseExtendedScrollRequest *       &2
Wimp_WindowNever3D              *       &4
Wimp_WindowAlways3D             *       &8
Wimp_IconText                   *       &1
Wimp_IconSprite                 *       &2
Wimp_IconBorder                 *       &4
Wimp_IconHCentred               *       &8
Wimp_IconVCentred               *       &10
Wimp_IconFilled                 *       &20
Wimp_IconAntiAliased            *       &40
Wimp_IconNeedsHelp              *       &80
Wimp_IconIndirected             *       &100
Wimp_IconRJustified             *       &200
Wimp_IconAllowAdjust            *       &400
Wimp_IconHalfSize               *       &800
Wimp_IconButtonTypeShift        *       12
Wimp_IconButtonType             *       &F000
Wimp_IconESGShift               *       16
Wimp_IconESG                    *       &1F0000
Wimp_IconSelected               *       &200000
Wimp_IconShaded                 *       &400000
Wimp_IconDeleted                *       &800000
Wimp_IconFGColourShift          *       24
Wimp_IconFGColour               *       &F000000
Wimp_IconBGColourShift          *       28
Wimp_IconBGColour               *       &F0000000
Wimp_IconFontHandleShift        *       24
Wimp_IconFontHandle             *       &FF000000
Wimp_ButtonNever                *       &0
Wimp_ButtonAlways               *       &1
Wimp_ButtonRepeat               *       &2
Wimp_ButtonClick                *       &3
Wimp_ButtonRelease              *       &4
Wimp_ButtonDoubleClick          *       &5
Wimp_ButtonClickDrag            *       &6
Wimp_ButtonReleaseDrag          *       &7
Wimp_ButtonDoubleDrag           *       &8
Wimp_ButtonMenuIcon             *       &9
Wimp_ButtonDoubleClickDrag      *       &A
Wimp_ButtonRadio                *       &B
Wimp_ButtonWriteClickDrag       *       &E
Wimp_ButtonWritable             *       &F
Wimp_MenuTicked                 *       &1
Wimp_MenuSeparate               *       &2
Wimp_MenuWritable               *       &4
Wimp_MenuGiveWarning            *       &8
Wimp_MenuSubMenuWhenShaded      *       &10
Wimp_MenuLast                   *       &80
Wimp_MenuTitleIndirected        *       &100
Wimp_CloseMenu                  *       &FFFFFFFF
Wimp_NoSubMenu                  *       &FFFFFFFF
Wimp_DeferSubMenu               *       &1
Wimp_NoFonts                    *       &FFFFFFFF
Wimp_GetSize                    *       &0
Wimp_ClickAdjust                *       &1
Wimp_DoubleAdjust               *       &1
Wimp_ClickMenu                  *       &2
Wimp_ClickSelect                *       &4
Wimp_DoubleSelect               *       &4
Wimp_DragAdjust                 *       &10
Wimp_DragSelect                 *       &40
Wimp_SingleAdjust               *       &100
Wimp_SingleSelect               *       &400
Wimp_MenuItemHeight             *       44
Wimp_MenuItemGap                *       0
Wimp_MenuItemSeparation         *       24
Wimp_DragSystemPosition         *       &1
Wimp_DragSystemSize             *       &2
Wimp_DragSystemHScroll          *       &3
Wimp_DragSystemVScroll          *       &4
Wimp_DragUserFixed              *       &5
Wimp_DragUserRubber             *       &6
Wimp_DragUserPoint              *       &7
Wimp_DragAsmFixed               *       &8
Wimp_DragAsmRubber              *       &9
Wimp_DragAsmFixedIndefinite     *       &A
Wimp_DragAsmRubberIndefinite    *       &B
Wimp_DragSystemScrollBoth       *       &C
Wimp_DragStartTextSelection     *       &D
Wimp_KeyBackspace               *       &8
Wimp_KeyReturn                  *       &D
Wimp_KeyEscape                  *       &1B
Wimp_KeyHome                    *       &1E
Wimp_KeyDelete                  *       &7F
Wimp_KeyShift                   *       &10
Wimp_KeyControl                 *       &20
Wimp_KeyPrint                   *       &180
Wimp_KeyF1                      *       &181
Wimp_KeyF2                      *       &182
Wimp_KeyF3                      *       &183
Wimp_KeyF4                      *       &184
Wimp_KeyF5                      *       &185
Wimp_KeyF6                      *       &186
Wimp_KeyF7                      *       &187
Wimp_KeyF8                      *       &188
Wimp_KeyF9                      *       &189
Wimp_KeyTab                     *       &18A
Wimp_KeyCopy                    *       &18B
Wimp_KeyLeft                    *       &18C
Wimp_KeyRight                   *       &18D
Wimp_KeyLogo                    *       &1C0
Wimp_KeyMenu                    *       &1C1
Wimp_KeyF10                     *       &1CA
Wimp_KeyF11                     *       &1CB
Wimp_KeyF12                     *       &1CC
Wimp_KeyInsert                  *       &1CD
Wimp_KeyDown                    *       &18E
Wimp_KeyUp                      *       &18F
Wimp_KeyPageDown                *       &19E
Wimp_KeyPageUp                  *       &19F
Message_Quit                    *       &0
Message_DataSave                *       &1
Message_DataSaveAck             *       &2
Message_DataLoad                *       &3
Message_DataLoadAck             *       &4
Message_DataOpen                *       &5
Message_RAMFetch                *       &6
Message_RAMTransmit             *       &7
Message_Prequit                 *       &8
Message_PreQuit                 *       &8
Message_PaletteChange           *       &9
Message_SaveDesktop             *       &A
Message_DeviceClaim             *       &B
Message_DeviceInUse             *       &C
Message_DataSaved               *       &D
Message_Shutdown                *       &E
Message_ClaimEntity             *       &F
Message_DataRequest             *       &10
Message_Dragging                *       &11
Message_DragClaim               *       &12
Message_ReleaseEntity           *       &13
Message_AppControl              *       &15
Message_MenuWarning             *       &400C0
Message_ModeChange              *       &400C1
Message_TaskInitialise          *       &400C2
Message_TaskCloseDown           *       &400C3
Message_SlotSize                *       &400C4
Message_SetSlot                 *       &400C5
Message_TaskNameRq              *       &400C6
Message_TaskNameIs              *       &400C7
Message_TaskStarted             *       &400C8
Message_MenusDeleted            *       &400C9
Message_Iconise                 *       &400CA
Message_WindowClosed            *       &400CB
Message_WindowInfo              *       &400CC
Message_Swap                    *       &400CD
Message_ToolsChanged            *       &400CE
Message_FontChanged             *       &400CF
Message_IconiseAt               *       &400D0
Message_ToggleBackdrop          *       &400D1
Message_ScreenEdgeNotification  *       &400D2
Wimp_DragBoxKeepInLine          *       &1
Wimp_DragBoxClip                *       &2
Wimp_AutoScrollEnableHorizontal *       &1
Wimp_AutoScrollEnableVertical   *       &2
Wimp_AutoScrollDelegateToTask   *       &4
Wimp_AutoScrollReadState        *       &80
Wimp_ErrorBoxOKIcon             *       &1
Wimp_ErrorBoxCancelIcon         *       &2
Wimp_ErrorBoxHighlightCancel    *       &4
Wimp_ErrorBoxNoPrompt           *       &8
Wimp_ErrorBoxShortTitle         *       &10
Wimp_ErrorBoxLeaveOpen          *       &20
Wimp_ErrorBoxClose              *       &40
Wimp_ErrorBoxNoBeep             *       &80
Wimp_ErrorBoxGivenCategory      *       &100
Wimp_ErrorBoxCategory           *       &E00
Wimp_ErrorBoxCategoryShift      *       9
Wimp_ErrorBoxCategoryInfo       *       &1
Wimp_ErrorBoxCategoryError      *       &2
Wimp_ErrorBoxCategoryProgram    *       &3
Wimp_ErrorBoxCategoryQuestion   *       &4
Wimp_ErrorBoxContinueResponseShift *       24
Wimp_ErrorBoxQuitResponseShift  *       28
Wimp_ErrorBoxSelectedNothing    *       &0
Wimp_ErrorBoxSelectedOK         *       &1
Wimp_ErrorBoxSelectedCancel     *       &2
Wimp_ColourWhite                *       &0
Wimp_ColourVeryLightGrey        *       &1
Wimp_ColourLightGrey            *       &2
Wimp_ColourMidLightGrey         *       &3
Wimp_ColourMidDarkGrey          *       &4
Wimp_ColourDarkGrey             *       &5
Wimp_ColourVeryDarkGrey         *       &6
Wimp_ColourBlack                *       &7
Wimp_ColourDarkBlue             *       &8
Wimp_ColourYellow               *       &9
Wimp_ColourLightGreen           *       &A
Wimp_ColourRed                  *       &B
Wimp_ColourCream                *       &C
Wimp_ColourDarkGreen            *       &D
Wimp_ColourOrange               *       &E
Wimp_ColourLightBlue            *       &F
Wimp_ColourTransparent          *       &FFFFFFFF
Wimp_ScrollDoubleExtendedLeft   *       &FFFFFFF8
Wimp_ScrollDoubleExtendedDown   *       &FFFFFFF8
Wimp_ScrollSingleExtendedLeft   *       &FFFFFFFC
Wimp_ScrollSingleExtendedDown   *       &FFFFFFFC
Wimp_ScrollAutoLeft             *       &FFFFFFFD
Wimp_ScrollAutoDown             *       &FFFFFFFD
Wimp_ScrollPageLeft             *       &FFFFFFFE
Wimp_ScrollPageDown             *       &FFFFFFFE
Wimp_ScrollColumnLeft           *       &FFFFFFFF
Wimp_ScrollLineDown             *       &FFFFFFFF
Wimp_ScrollNone                 *       &0
Wimp_ScrollLineUp               *       &1
Wimp_ScrollColumnRight          *       &1
Wimp_ScrollPageUp               *       &2
Wimp_ScrollPageRight            *       &2
Wimp_ScrollAutoUp               *       &3
Wimp_ScrollAutoRight            *       &3
Wimp_ScrollSingleExtendedUp     *       &4
Wimp_ScrollSingleExtendedRight  *       &4
Wimp_ScrollDoubleExtendedUp     *       &8
Wimp_ScrollDoubleExtendedRight  *       &8
Wimp_AutoScrollNoHandler        *       &0
Wimp_AutoScrollDefaultHandler   *       &1
Wimp_PreQuitTaskOnly            *       &1
Wimp_ClaimCaretOrSelection      *       &3
Wimp_ClaimClipboard             *       &4
Wimp_DataRequestClipboard       *       &4
Wimp_DraggingFromSelection      *       &2
Wimp_DraggingFromClipboard      *       &4
Wimp_DraggingDeleteSource       *       &8
Wimp_DraggingTerminateDrag      *       &10
Wimp_DragClaimPointerChanged    *       &1
Wimp_DragClaimSupressDragbox    *       &2
Wimp_DragClaimDeleteSource      *       &8
Wimp_ReleaseClipboard           *       &4
Wimp_AppControlImmediate        *       &1
Wimp_AppControlStop             *       &0
Wimp_AppControlWakeUp           *       &1
Wimp_AppControlPause            *       &2
Wimp_AppControlMinimiseMemory   *       &3
Wimp_AppControlOpenConfiguration *       &4
Wimp_IconiseWithShiftClose      *       &1
Wimp_ToggleBackdropType         *       &3
Wimp_ToggleBackdrop             *       &0
Wimp_ToggleBackdropToFront      *       &1
Wimp_ToggleBackdropToBack       *       &2
Wimp_ToggleBackdropGetPosition  *       &3
Wimp_ScreenEdgeNotificationLeft *       &1
Wimp_ScreenEdgeNotificationBottom *       &2
Wimp_ScreenEdgeNotificationRight *       &4
Wimp_ScreenEdgeNotificationTop  *       &8
Error_WimpNoClaim               *       &280
Error_WimpBadOp                 *       &281
Error_WimpRectFull              *       &282
Error_WimpTooMany               *       &283
Error_WimpTooBig                *       &284
Error_WimpDivBy0                *       &285
Error_WimpGetRect               *       &286
Error_WimpFocus                 *       &287
Error_WimpBadHandle             *       &288
Error_WimpTooMenus              *       &289
Error_WimpBadExtent             *       &28A
Error_WimpBadPointer            *       &28B
Error_WimpNoTemplateFile        *       &28C
Error_WimpBadTemplate           *       &28D
Error_WimpBadFonts              *       &28E
Error_WimpBadSyntax             *       &28F
Error_WimpNoTasks               *       &290
Error_WimpNoTemplate            *       &291
Error_WimpNotPresent            *       &292
Error_WimpInUse                 *       &293
Error_WimpBadPalFile            *       &294
Error_WimpBadVersion            *       &295
Error_WimpBadMessageSize        *       &296
Error_WimpBadReasonCode         *       &297
Error_WimpBadTaskHandle         *       &298
Error_WimpCantTask              *       &299
Error_WimpBadSubMenu            *       &29A
Error_WimpOwnerWindow           *       &29B
Error_WimpBadMode               *       &29C
Error_WimpBadTransfer           *       &29D
Error_WimpBadSysInfo            *       &29E
Error_WimpBadPtrInR1            *       &29F
Error_WimpBadEscapeState        *       &2A0
Error_WimpBadIconHandle         *       &2A1
Error_WimpBadR3                 *       &2A2
Error_WimpNoDotInFilename       *       &2A3
Error_WimpTemplateEOF           *       &2A4
Error_WimpBadSlot               *       &2A5
Error_WimpBadConfFont           *       &2A6
Error_WimpNoSprites             *       &2A7
Error_WimpBadPalFile2           *       &2A8
Error_WimpBadSprites            *       &2A9
Error_WimpBadParent             *       &2AA
Wimp_PriorityTaskManager        *       &60000000
Wimp_PriorityPaletteUtility     *       &20000000
Wimp_PriorityADFSFilerHardDiscs *       &70000000
Wimp_PriorityADFSFilerFloppyDiscs *       &60000000
Wimp_PriorityResourceFiler      *       &50000000
Wimp_PriorityRAMFSFiler         *       &40000000
Wimp_PriorityNFSFiler           *       &30000000
Wimp_PriorityNetFiler           *       &20000000
Wimp_PriorityPrinters           *       &F000000
Wimp_PriorityTinyDirs           *       &C0000000
Wimp_PlotIconGivenSpriteArea    *       &1
Wimp_PlotIconUnderPointer       *       &2
Wimp_CommandWindowInactive      *       &0
Wimp_CommandWindowPending       *       &1
Wimp_CommandWindowOpen          *       &2
Wimp_GivenWindowAndIcon         *       &1
Wimp_FilterPrePoll              *       &0
Wimp_FilterPostPoll             *       &1
Wimp_FilterCopy                 *       &2
Wimp_FilterRect                 *       &3
Wimp_FilterPostRect             *       &4
Wimp_FilterPostIcon             *       &5
Wimp_DefaultPalette             *       &FFFFFFFF
Wimp_Palette                    *       &0
WimpTextOp_SizeCovered          *       &80000000
WimpTextOp_GivenBaseline        *       &40000000
WimpTextOp_RJustify             *       &80000000

;Symbols for structure offsets and sizes
Wimp_W                          *       4 ;abstract type
                                ^       0
                                #       Int
Wimp_I                          *       @

Wimp_T                          *       4 ;abstract type
                                ^       0
                                #       Byte
Wimp_Colour                     *       @

                                ^       0
                                #       Int
Wimp_VersionNo                  *       @

                                ^       0
                                #       Int
Wimp_EventNo                    *       @

                                ^       0
                                #       Bits
Wimp_PollFlags                  *       @

                                ^       0
                                #       Int
Wimp_Furniture                  *       @

                                ^       0
                                #       Bits
Wimp_WindowNestingFlags         *       @

                                ^       0
                                #       Bits
Wimp_WindowFlags                *       @

                                ^       0
                                #       Byte
Wimp_ExtraWindowFlags           *       @

                                ^       0
                                #       Bits
Wimp_IconFlags                  *       @

                                ^       0
                                #       Bits
Wimp_MenuFlags                  *       @

                                ^       0
                                #       Bits
Wimp_MouseState                 *       @

                                ^       0
                                #       Int
Wimp_DragType                   *       @

                                ^       0
                                #       Int
Wimp_KeyNo                      *       @

                                ^       0
                                #       Bits
Wimp_DragBoxFlags               *       @

                                ^       0
                                #       Bits
Wimp_AutoScrollFlags            *       @

                                ^       0
                                #       Bits
Wimp_ErrorBoxFlags              *       @

                                ^       0
                                #       Int
Wimp_ErrorBoxSelection          *       @

                                ^       0
                                #       Int
Wimp_ScrollDirection            *       @

                                ^       0
Wimp_IconData_text              #       12*Char
                                ^       0
Wimp_IconData_sprite            #       12*Char
                                ^       0
Wimp_IconData_text_and_sprite   #       12*Char
                                ^       0
Wimp_IconData_indirected_text_text #       Ptr
Wimp_IconData_indirected_text_validation #       Ptr
Wimp_IconData_indirected_text_size #       Int
                                ^       0
Wimp_IconData_indirected_sprite_id #       OSSpriteOp_Id
Wimp_IconData_indirected_sprite_area #       Ptr
Wimp_IconData_indirected_sprite_size #       Int
                                ^       0
Wimp_IconData_indirected_text_and_sprite_text #       Ptr
Wimp_IconData_indirected_text_and_sprite_validation #       Ptr
Wimp_IconData_indirected_text_and_sprite_size #       Int
Wimp_IconData                   *       @

                                ^       0
Wimp_Icon_extent                #       OS_Box
Wimp_Icon_flags                 #       Wimp_IconFlags
Wimp_Icon_data                  #       Wimp_IconData
Wimp_Icon                       *       @

                                ^       0
Wimp_IconCreate_w               #       Wimp_W
Wimp_IconCreate_icon            #       Wimp_Icon
Wimp_IconCreate                 *       @

                                ^       0
Wimp_Window_visible             #       OS_Box
Wimp_Window_xscroll             #       Int
Wimp_Window_yscroll             #       Int
Wimp_Window_next                #       Wimp_W
Wimp_Window_flags               #       Wimp_WindowFlags
Wimp_Window_title_fg            #       Wimp_Colour
Wimp_Window_title_bg            #       Wimp_Colour
Wimp_Window_work_fg             #       Wimp_Colour
Wimp_Window_work_bg             #       Wimp_Colour
Wimp_Window_scroll_outer        #       Wimp_Colour
Wimp_Window_scroll_inner        #       Wimp_Colour
Wimp_Window_highlight_bg        #       Wimp_Colour
Wimp_Window_extra_flags         #       Wimp_ExtraWindowFlags
Wimp_Window_extent              #       OS_Box
Wimp_Window_title_flags         #       Wimp_IconFlags
Wimp_Window_work_flags          #       Wimp_IconFlags
Wimp_Window_sprite_area         #       Ptr
Wimp_Window_xmin                #       Short
Wimp_Window_ymin                #       Short
Wimp_Window_title_data          #       Wimp_IconData
Wimp_Window_icon_count          #       Int
Wimp_Window_icons               #       Wimp_Icon
Wimp_Window                     *       @
        
        MACRO
$label                          Wimp_Window_MEMBERS
$label._visible                 #       OS_Box
$label._xscroll                 #       Int
$label._yscroll                 #       Int
$label._next                    #       Wimp_W
$label._flags                   #       Wimp_WindowFlags
$label._title_fg                #       Wimp_Colour
$label._title_bg                #       Wimp_Colour
$label._work_fg                 #       Wimp_Colour
$label._work_bg                 #       Wimp_Colour
$label._scroll_outer            #       Wimp_Colour
$label._scroll_inner            #       Wimp_Colour
$label._highlight_bg            #       Wimp_Colour
$label._extra_flags             #       Wimp_ExtraWindowFlags
$label._extent                  #       OS_Box
$label._title_flags             #       Wimp_IconFlags
$label._work_flags              #       Wimp_IconFlags
$label._sprite_area             #       Ptr
$label._xmin                    #       Short
$label._ymin                    #       Short
$label._title_data              #       Wimp_IconData
$label._icon_count              #       Int
        MEND
        
                                ^       0
Wimp_WindowBase                 Wimp_Window_MEMBERS
Wimp_WindowBase                 *       @

                                ^       0
Wimp_WindowState_w              #       Wimp_W
Wimp_WindowState_visible        #       OS_Box
Wimp_WindowState_xscroll        #       Int
Wimp_WindowState_yscroll        #       Int
Wimp_WindowState_next           #       Wimp_W
Wimp_WindowState_flags          #       Wimp_WindowFlags
Wimp_WindowState                *       @

                                ^       0
Wimp_IconState_w                #       Wimp_W
Wimp_IconState_i                #       Wimp_I
Wimp_IconState_icon             #       Wimp_Icon
Wimp_IconState                  *       @

                                ^       0
Wimp_SetIconStateBlock_w        #       Wimp_W
Wimp_SetIconStateBlock_i        #       Wimp_I
Wimp_SetIconStateBlock_eor_bits #       Wimp_IconFlags
Wimp_SetIconStateBlock_clear_bits #       Wimp_IconFlags
Wimp_SetIconStateBlock          *       @

                                ^       0
Wimp_WindowInfo_w               #       Wimp_W
Wimp_WindowInfo_visible         #       OS_Box
Wimp_WindowInfo_xscroll         #       Int
Wimp_WindowInfo_yscroll         #       Int
Wimp_WindowInfo_next            #       Wimp_W
Wimp_WindowInfo_flags           #       Wimp_WindowFlags
Wimp_WindowInfo_title_fg        #       Wimp_Colour
Wimp_WindowInfo_title_bg        #       Wimp_Colour
Wimp_WindowInfo_work_fg         #       Wimp_Colour
Wimp_WindowInfo_work_bg         #       Wimp_Colour
Wimp_WindowInfo_scroll_outer    #       Wimp_Colour
Wimp_WindowInfo_scroll_inner    #       Wimp_Colour
Wimp_WindowInfo_highlight_bg    #       Wimp_Colour
Wimp_WindowInfo_extra_flags     #       Wimp_ExtraWindowFlags
Wimp_WindowInfo_extent          #       OS_Box
Wimp_WindowInfo_title_flags     #       Wimp_IconFlags
Wimp_WindowInfo_work_flags      #       Wimp_IconFlags
Wimp_WindowInfo_sprite_area     #       Ptr
Wimp_WindowInfo_xmin            #       Short
Wimp_WindowInfo_ymin            #       Short
Wimp_WindowInfo_title_data      #       Wimp_IconData
Wimp_WindowInfo_icon_count      #       Int
Wimp_WindowInfo_icons           #       Wimp_Icon
Wimp_WindowInfo                 *       @
        
        MACRO
$label                          Wimp_WindowInfo_MEMBERS
$label._w                       #       Wimp_W
$label._visible                 #       OS_Box
$label._xscroll                 #       Int
$label._yscroll                 #       Int
$label._next                    #       Wimp_W
$label._flags                   #       Wimp_WindowFlags
$label._title_fg                #       Wimp_Colour
$label._title_bg                #       Wimp_Colour
$label._work_fg                 #       Wimp_Colour
$label._work_bg                 #       Wimp_Colour
$label._scroll_outer            #       Wimp_Colour
$label._scroll_inner            #       Wimp_Colour
$label._highlight_bg            #       Wimp_Colour
$label._extra_flags             #       Wimp_ExtraWindowFlags
$label._extent                  #       OS_Box
$label._title_flags             #       Wimp_IconFlags
$label._work_flags              #       Wimp_IconFlags
$label._sprite_area             #       Ptr
$label._xmin                    #       Short
$label._ymin                    #       Short
$label._title_data              #       Wimp_IconData
$label._icon_count              #       Int
        MEND
        
                                ^       0
Wimp_WindowInfoBase             Wimp_WindowInfo_MEMBERS
Wimp_WindowInfoBase             *       @

                                ^       0
Wimp_Outline_w                  #       Wimp_W
Wimp_Outline_outline            #       OS_Box
Wimp_Outline                    *       @

                                ^       0
Wimp_Draw_w                     #       Wimp_W
Wimp_Draw_box                   #       OS_Box
Wimp_Draw_xscroll               #       Int
Wimp_Draw_yscroll               #       Int
Wimp_Draw_clip                  #       OS_Box
Wimp_Draw                       *       @

                                ^       0
Wimp_Open_w                     #       Wimp_W
Wimp_Open_visible               #       OS_Box
Wimp_Open_xscroll               #       Int
Wimp_Open_yscroll               #       Int
Wimp_Open_next                  #       Wimp_W
Wimp_Open                       *       @

                                ^       0
Wimp_Close_w                    #       Wimp_W
Wimp_Close                      *       @

                                ^       0
Wimp_Leaving_w                  #       Wimp_W
Wimp_Leaving                    *       @

                                ^       0
Wimp_Entering_w                 #       Wimp_W
Wimp_Entering                   *       @

                                ^       0
Wimp_Pointer_pos                #       OS_Coord
Wimp_Pointer_buttons            #       Wimp_MouseState
Wimp_Pointer_w                  #       Wimp_W
Wimp_Pointer_i                  #       Wimp_I
Wimp_Pointer                    *       @

                                ^       0
Wimp_Dragged_final              #       OS_Box
Wimp_Dragged                    *       @

                                ^       0
Wimp_Key_w                      #       Wimp_W
Wimp_Key_i                      #       Wimp_I
Wimp_Key_pos                    #       OS_Coord
Wimp_Key_height                 #       Int
Wimp_Key_index                  #       Int
Wimp_Key_c                      #       Wimp_KeyNo
Wimp_Key                        *       @

                                ^       0
Wimp_Selection_items            #       9*Int
Wimp_Selection                  *       @

                                ^       0
Wimp_Scroll_w                   #       Wimp_W
Wimp_Scroll_visible             #       OS_Box
Wimp_Scroll_xscroll             #       Int
Wimp_Scroll_yscroll             #       Int
Wimp_Scroll_next                #       Wimp_W
Wimp_Scroll_xmin                #       Wimp_ScrollDirection
Wimp_Scroll_ymin                #       Wimp_ScrollDirection
Wimp_Scroll_i                   #       Wimp_I
Wimp_Scroll                     *       @

                                ^       0
Wimp_Pollword_addr              #       Ptr
Wimp_Pollword_word              #       Int
Wimp_Pollword                   *       @

                                ^       0
Wimp_Drag_w                     #       Wimp_W
Wimp_Drag_type                  #       Wimp_DragType
Wimp_Drag_initial               #       OS_Box
Wimp_Drag_bbox                  #       OS_Box
Wimp_Drag_handle                #       Ptr
Wimp_Drag_draw                  #       Ptr
Wimp_Drag_undraw                #       Ptr
Wimp_Drag_redraw                #       Ptr
Wimp_Drag                       *       @

                                ^       0
Wimp_AutoScrollInfo_w           #       Wimp_W
Wimp_AutoScrollInfo_pause_zone_sizes #       OS_Box
Wimp_AutoScrollInfo_pause_duration #       Int
Wimp_AutoScrollInfo_state_change #       Ptr
Wimp_AutoScrollInfo_handle      #       Ptr
Wimp_AutoScrollInfo             *       @

                                ^       0
Wimp_Caret_w                    #       Wimp_W
Wimp_Caret_i                    #       Wimp_I
Wimp_Caret_pos                  #       OS_Coord
Wimp_Caret_height               #       Int
Wimp_Caret_index                #       Int
Wimp_Caret                      *       @

                                ^       0
Wimp_TextSelection_w            #       Wimp_W
Wimp_TextSelection_i            #       Wimp_I
Wimp_TextSelection_start_index  #       Int
Wimp_TextSelection_end_index    #       Int
Wimp_TextSelection              *       @

                                ^       0
Wimp_MenuEntry_menu_flags       #       Wimp_MenuFlags
Wimp_MenuEntry_sub_menu         #       Ptr
Wimp_MenuEntry_icon_flags       #       Wimp_IconFlags
Wimp_MenuEntry_data             #       Wimp_IconData
Wimp_MenuEntry                  *       @

                                ^       0
Wimp_Menu_title_data            *       @
Wimp_Menu_title_data_text       #       12*Char
                                ^       Wimp_Menu_title_data
Wimp_Menu_title_data_indirected_text_text #       Ptr
Wimp_Menu_title_data_indirected_text_reserved #       8*Byte
Wimp_Menu_title_fg              #       Wimp_Colour
Wimp_Menu_title_bg              #       Wimp_Colour
Wimp_Menu_work_fg               #       Wimp_Colour
Wimp_Menu_work_bg               #       Wimp_Colour
Wimp_Menu_width                 #       Int
Wimp_Menu_height                #       Int
Wimp_Menu_gap                   #       Int
Wimp_Menu_entries               #       Wimp_MenuEntry
Wimp_Menu                       *       @
        
        MACRO
$label                          Wimp_Menu_MEMBERS
$label._title_data              *       @
$label._title_data_text         #       12*Char
                                ^       $label._title_data
$label._title_data_indirected_text_text #       Ptr
$label._title_data_indirected_text_reserved #       8*Byte
$label._title_fg                #       Wimp_Colour
$label._title_bg                #       Wimp_Colour
$label._work_fg                 #       Wimp_Colour
$label._work_bg                 #       Wimp_Colour
$label._width                   #       Int
$label._height                  #       Int
$label._gap                     #       Int
        MEND
        
                                ^       0
Wimp_MenuBase                   Wimp_Menu_MEMBERS
Wimp_MenuBase                   *       @

                                ^       0
                                #       Bits
Wimp_PreQuitFlags               *       @

                                ^       0
                                #       Bits
Wimp_SaveDesktopFlags           *       @

                                ^       0
                                #       Bits
Wimp_ShutdownFlags              *       @

                                ^       0
                                #       Bits
Wimp_ClaimFlags                 *       @

                                ^       0
                                #       Bits
Wimp_DataRequestFlags           *       @

                                ^       0
                                #       Bits
Wimp_DraggingFlags              *       @

                                ^       0
                                #       Bits
Wimp_DragClaimFlags             *       @

                                ^       0
                                #       Bits
Wimp_ReleaseFlags               *       @

                                ^       0
                                #       Bits
Wimp_AppControlFlags            *       @

                                ^       0
                                #       Int
Wimp_AppControlOperation        *       @

                                ^       0
Wimp_MessageHeader_size         #       Int
Wimp_MessageHeader_sender       #       Wimp_T
Wimp_MessageHeader_my_ref       #       Int
Wimp_MessageHeader_your_ref     #       Int
Wimp_MessageHeader_action       #       Bits
Wimp_MessageHeader_data         #       Byte
Wimp_MessageHeader              *       @
        
        MACRO
$label                          Wimp_MessageHeader_MEMBERS
$label._size                    #       Int
$label._sender                  #       Wimp_T
$label._my_ref                  #       Int
$label._your_ref                #       Int
$label._action                  #       Bits
        MEND
        
                                ^       0
Wimp_MessageHeaderBase          Wimp_MessageHeader_MEMBERS
Wimp_MessageHeaderBase          *       @

                                ^       0
Wimp_MessageDataXfer_w          #       Wimp_W
Wimp_MessageDataXfer_i          #       Wimp_I
Wimp_MessageDataXfer_pos        #       OS_Coord
Wimp_MessageDataXfer_est_size   #       Int
Wimp_MessageDataXfer_file_type  #       Bits
Wimp_MessageDataXfer_file_name  #       212*Char
Wimp_MessageDataXfer            *       @

                                ^       0
Wimp_MessageRAMXfer_addr        #       Ptr
Wimp_MessageRAMXfer_size        #       Int
Wimp_MessageRAMXfer             *       @

                                ^       0
Wimp_MessagePrequit_flags       #       Wimp_PreQuitFlags
Wimp_MessagePrequit             *       @

                                ^       0
Wimp_MessageSaveDesktop_file    #       OS_F
Wimp_MessageSaveDesktop_reserved #       3*Byte
Wimp_MessageSaveDesktop_flags   #       Wimp_SaveDesktopFlags
Wimp_MessageSaveDesktop         *       @

                                ^       0
Wimp_MessageSaveDesktopW_file   #       OS_FW
Wimp_MessageSaveDesktopW_flags  #       Wimp_SaveDesktopFlags
Wimp_MessageSaveDesktopW        *       @

                                ^       0
Wimp_MessageDevice_major        #       Int
Wimp_MessageDevice_minor        #       Int
Wimp_MessageDevice_info         #       228*Char
Wimp_MessageDevice              *       @

                                ^       0
Wimp_MessageDataSaved_ref       #       Int
Wimp_MessageDataSaved           *       @

                                ^       0
Wimp_MessageShutdown_flags      #       Wimp_ShutdownFlags
Wimp_MessageShutdown            *       @

                                ^       0
Wimp_MessageClaimEntity_flags   #       Wimp_ClaimFlags
Wimp_MessageClaimEntity         *       @

                                ^       0
Wimp_MessageDataRequest_w       #       Wimp_W
Wimp_MessageDataRequest_i       #       Wimp_I
Wimp_MessageDataRequest_pos     #       OS_Coord
Wimp_MessageDataRequest_flags   #       Wimp_DataRequestFlags
Wimp_MessageDataRequest_file_types #       54*Bits
Wimp_MessageDataRequest         *       @

                                ^       0
Wimp_MessageDragging_w          #       Wimp_W
Wimp_MessageDragging_i          #       Wimp_I
Wimp_MessageDragging_pos        #       OS_Coord
Wimp_MessageDragging_flags      #       Wimp_DraggingFlags
Wimp_MessageDragging_box        #       OS_Box
Wimp_MessageDragging_file_types #       50*Bits
Wimp_MessageDragging            *       @

                                ^       0
Wimp_MessageDragClaim_flags     #       Wimp_DragClaimFlags
Wimp_MessageDragClaim_file_types #       58*Bits
Wimp_MessageDragClaim           *       @

                                ^       0
Wimp_MessageReleaseEntity_flags #       Wimp_ReleaseFlags
Wimp_MessageReleaseEntity       *       @

                                ^       0
Wimp_MessageAppControl_protocol_version #       Int
Wimp_MessageAppControl_flags    #       Wimp_AppControlFlags
Wimp_MessageAppControl_operation #       Wimp_AppControlOperation
Wimp_MessageAppControl          *       @

                                ^       0
Wimp_FullMessageDataXfer        Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDataXfer_w      #       Wimp_W
Wimp_FullMessageDataXfer_i      #       Wimp_I
Wimp_FullMessageDataXfer_pos    #       OS_Coord
Wimp_FullMessageDataXfer_est_size #       Int
Wimp_FullMessageDataXfer_file_type #       Bits
Wimp_FullMessageDataXfer_file_name #       212*Char
Wimp_FullMessageDataXfer        *       @

                                ^       0
Wimp_FullMessageRAMXfer         Wimp_MessageHeader_MEMBERS
Wimp_FullMessageRAMXfer_addr    #       Ptr
Wimp_FullMessageRAMXfer_xfer_size #       Int
Wimp_FullMessageRAMXfer         *       @

                                ^       0
Wimp_FullMessagePrequit         Wimp_MessageHeader_MEMBERS
Wimp_FullMessagePrequit_flags   #       Wimp_PreQuitFlags
Wimp_FullMessagePrequit         *       @

                                ^       0
Wimp_FullMessageSaveDesktopW    Wimp_MessageHeader_MEMBERS
Wimp_FullMessageSaveDesktopW_file #       OS_FW
Wimp_FullMessageSaveDesktopW_flags #       Wimp_SaveDesktopFlags
Wimp_FullMessageSaveDesktopW    *       @

                                ^       0
Wimp_FullMessageDevice          Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDevice_major    #       Int
Wimp_FullMessageDevice_minor    #       Int
Wimp_FullMessageDevice_info     #       228*Char
Wimp_FullMessageDevice          *       @

                                ^       0
Wimp_FullMessageDataSaved       Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDataSaved_ref   #       Int
Wimp_FullMessageDataSaved       *       @

                                ^       0
Wimp_FullMessageShutdown        Wimp_MessageHeader_MEMBERS
Wimp_FullMessageShutdown_flags  #       Wimp_ShutdownFlags
Wimp_FullMessageShutdown        *       @

                                ^       0
Wimp_FullMessageClaimEntity     Wimp_MessageHeader_MEMBERS
Wimp_FullMessageClaimEntity_flags #       Wimp_ClaimFlags
Wimp_FullMessageClaimEntity     *       @

                                ^       0
Wimp_FullMessageDataRequest     Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDataRequest_w   #       Wimp_W
Wimp_FullMessageDataRequest_i   #       Wimp_I
Wimp_FullMessageDataRequest_pos #       OS_Coord
Wimp_FullMessageDataRequest_flags #       Wimp_DataRequestFlags
Wimp_FullMessageDataRequest_file_types #       54*Bits
Wimp_FullMessageDataRequest     *       @

                                ^       0
Wimp_FullMessageDragging        Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDragging_w      #       Wimp_W
Wimp_FullMessageDragging_i      #       Wimp_I
Wimp_FullMessageDragging_pos    #       OS_Coord
Wimp_FullMessageDragging_flags  #       Wimp_DraggingFlags
Wimp_FullMessageDragging_box    #       OS_Box
Wimp_FullMessageDragging_file_types #       50*Bits
Wimp_FullMessageDragging        *       @

                                ^       0
Wimp_FullMessageDragClaim       Wimp_MessageHeader_MEMBERS
Wimp_FullMessageDragClaim_flags #       Wimp_DragClaimFlags
Wimp_FullMessageDragClaim_file_types #       58*Bits
Wimp_FullMessageDragClaim       *       @

                                ^       0
Wimp_FullMessageReleaseEntity   Wimp_MessageHeader_MEMBERS
Wimp_FullMessageReleaseEntity_flags #       Wimp_ReleaseFlags
Wimp_FullMessageReleaseEntity   *       @

                                ^       0
Wimp_FullMessageAppControl      Wimp_MessageHeader_MEMBERS
Wimp_FullMessageAppControl_protocol_version #       Int
Wimp_FullMessageAppControl_flags #       Wimp_AppControlFlags
Wimp_FullMessageAppControl_operation #       Wimp_AppControlOperation
Wimp_FullMessageAppControl      *       @

                                ^       0
                                #       Bits
Wimp_IconiseFlags               *       @

                                ^       0
                                #       Bits
Wimp_ToggleBackdropFlags        *       @

                                ^       0
                                #       Bits
Wimp_ScreenEdgeNotificationFlags *       @

                                ^       0
Wimp_MessageMenuWarning_sub_menu #       Ptr
Wimp_MessageMenuWarning_pos     #       OS_Coord
Wimp_MessageMenuWarning_selection #       Wimp_Selection
Wimp_MessageMenuWarning         *       @

                                ^       0
Wimp_MessageTaskInitialise_cao  #       Ptr
Wimp_MessageTaskInitialise_size #       Int
Wimp_MessageTaskInitialise_task_name #       228*Char
Wimp_MessageTaskInitialise      *       @

                                ^       0
Wimp_MessageSlotSize_new_curr   #       Int
Wimp_MessageSlotSize_new_next   #       Int
Wimp_MessageSlotSize            *       @

                                ^       0
Wimp_MessageSetSlot_new_curr    #       Int
Wimp_MessageSetSlot_task        #       Wimp_T
Wimp_MessageSetSlot             *       @

                                ^       0
Wimp_MessageTaskNameRq_task     #       Wimp_T
Wimp_MessageTaskNameRq          *       @

                                ^       0
Wimp_MessageTaskNameIs_task     #       Wimp_T
Wimp_MessageTaskNameIs_size     #       Int
Wimp_MessageTaskNameIs_task_name #       228*Char
Wimp_MessageTaskNameIs          *       @

                                ^       0
Wimp_MessageMenusDeleted_menu   #       Ptr
Wimp_MessageMenusDeleted        *       @

                                ^       0
Wimp_MessageIconise_w           #       Wimp_W
Wimp_MessageIconise_task        #       Wimp_T
Wimp_MessageIconise_title       #       20*Char
Wimp_MessageIconise             *       @

                                ^       0
Wimp_MessageWindowClosed_w      #       Wimp_W
Wimp_MessageWindowClosed        *       @

                                ^       0
Wimp_MessageWindowInfo_w        #       Wimp_W
Wimp_MessageWindowInfo_reserved #       Int
Wimp_MessageWindowInfo_sprite_name #       8*Char
Wimp_MessageWindowInfo_title    #       20*Char
Wimp_MessageWindowInfo          *       @

                                ^       0
Wimp_MessageFontChanged_font    #       Font_F
Wimp_MessageFontChanged         *       @

                                ^       0
Wimp_MessageIconiseAt_w         #       Wimp_W
Wimp_MessageIconiseAt_task      #       Wimp_T
Wimp_MessageIconiseAt_at        #       OS_Coord
Wimp_MessageIconiseAt_flags     #       Wimp_IconiseFlags
Wimp_MessageIconiseAt           *       @

                                ^       0
Wimp_MessageToggleBackdrop_flags #       Wimp_ToggleBackdropFlags
Wimp_MessageToggleBackdrop      *       @

                                ^       0
Wimp_MessageScreenEdgeNotification_flags #       Wimp_ScreenEdgeNotificationFlags
Wimp_MessageScreenEdgeNotification *       @

                                ^       0
Wimp_FullMessageMenuWarning     Wimp_MessageHeader_MEMBERS
Wimp_FullMessageMenuWarning_sub_menu #       Ptr
Wimp_FullMessageMenuWarning_pos #       OS_Coord
Wimp_FullMessageMenuWarning_selection #       Wimp_Selection
Wimp_FullMessageMenuWarning     *       @

Wimp_FullMessageModeChange      *       Wimp_MessageHeaderBase

                                ^       0
Wimp_FullMessageTaskInitialise  Wimp_MessageHeader_MEMBERS
Wimp_FullMessageTaskInitialise_cao #       Ptr
Wimp_FullMessageTaskInitialise_memory_size #       Int
Wimp_FullMessageTaskInitialise_task_name #       228*Char
Wimp_FullMessageTaskInitialise  *       @

Wimp_FullMessageTaskCloseDown   *       Wimp_MessageHeaderBase

                                ^       0
Wimp_FullMessageSlotSize        Wimp_MessageHeader_MEMBERS
Wimp_FullMessageSlotSize_new_curr #       Int
Wimp_FullMessageSlotSize_new_next #       Int
Wimp_FullMessageSlotSize        *       @

                                ^       0
Wimp_FullMessageSetSlot         Wimp_MessageHeader_MEMBERS
Wimp_FullMessageSetSlot_new_curr #       Int
Wimp_FullMessageSetSlot_task    #       Wimp_T
Wimp_FullMessageSetSlot         *       @

                                ^       0
Wimp_FullMessageTaskNameRq      Wimp_MessageHeader_MEMBERS
Wimp_FullMessageTaskNameRq_task #       Wimp_T
Wimp_FullMessageTaskNameRq      *       @

                                ^       0
Wimp_FullMessageTaskNameIs      Wimp_MessageHeader_MEMBERS
Wimp_FullMessageTaskNameIs_task #       Wimp_T
Wimp_FullMessageTaskNameIs_slot_size #       Int
Wimp_FullMessageTaskNameIs_task_name #       228*Char
Wimp_FullMessageTaskNameIs      *       @

Wimp_FullMessageTaskStarted     *       Wimp_MessageHeaderBase

                                ^       0
Wimp_FullMessageMenusDeleted    Wimp_MessageHeader_MEMBERS
Wimp_FullMessageMenusDeleted_menu #       Ptr
Wimp_FullMessageMenusDeleted    *       @

                                ^       0
Wimp_FullMessageIconise         Wimp_MessageHeader_MEMBERS
Wimp_FullMessageIconise_w       #       Wimp_W
Wimp_FullMessageIconise_task    #       Wimp_T
Wimp_FullMessageIconise_title   #       20*Char
Wimp_FullMessageIconise         *       @

                                ^       0
Wimp_FullMessageWindowClosed    Wimp_MessageHeader_MEMBERS
Wimp_FullMessageWindowClosed_w  #       Wimp_W
Wimp_FullMessageWindowClosed    *       @

                                ^       0
Wimp_FullMessageWindowInfo      Wimp_MessageHeader_MEMBERS
Wimp_FullMessageWindowInfo_w    #       Wimp_W
Wimp_FullMessageWindowInfo_reserved #       Int
Wimp_FullMessageWindowInfo_sprite_name #       8*Char
Wimp_FullMessageWindowInfo_title #       20*Char
Wimp_FullMessageWindowInfo      *       @

Wimp_FullMessageSwap            *       Wimp_MessageHeaderBase

Wimp_FullMessageToolsChanged    *       Wimp_MessageHeaderBase

                                ^       0
Wimp_FullMessageFontChanged     Wimp_MessageHeader_MEMBERS
Wimp_FullMessageFontChanged_font #       Font_F
Wimp_FullMessageFontChanged     *       @

                                ^       0
Wimp_FullMessageIconiseAt       Wimp_MessageHeader_MEMBERS
Wimp_FullMessageIconiseAt_w     #       Wimp_W
Wimp_FullMessageIconiseAt_task  #       Wimp_T
Wimp_FullMessageIconiseAt_at    #       OS_Coord
Wimp_FullMessageIconiseAt_flags #       Wimp_IconiseFlags
Wimp_FullMessageIconiseAt       *       @

                                ^       0
Wimp_FullMessageToggleBackdrop  Wimp_MessageHeader_MEMBERS
Wimp_FullMessageToggleBackdrop_flags #       Wimp_ToggleBackdropFlags
Wimp_FullMessageToggleBackdrop  *       @

                                ^       0
Wimp_FullMessageScreenEdgeNotification Wimp_MessageHeader_MEMBERS
Wimp_FullMessageScreenEdgeNotification_flags #       Wimp_ScreenEdgeNotificationFlags
Wimp_FullMessageScreenEdgeNotification *       @

                                ^       0
Wimp_Message                    Wimp_MessageHeader_MEMBERS
Wimp_Message_data               *       @
Wimp_Message_data_data_xfer     #       Wimp_MessageDataXfer
                                ^       Wimp_Message_data
Wimp_Message_data_ram_xfer      #       Wimp_MessageRAMXfer
                                ^       Wimp_Message_data
Wimp_Message_data_prequit       #       Wimp_MessagePrequit
                                ^       Wimp_Message_data
Wimp_Message_data_save_desktop  #       Wimp_MessageSaveDesktop
                                ^       Wimp_Message_data
Wimp_Message_data_save_desktopw #       Wimp_MessageSaveDesktopW
                                ^       Wimp_Message_data
Wimp_Message_data_device        #       Wimp_MessageDevice
                                ^       Wimp_Message_data
Wimp_Message_data_data_saved    #       Wimp_MessageDataSaved
                                ^       Wimp_Message_data
Wimp_Message_data_shutdown      #       Wimp_MessageShutdown
                                ^       Wimp_Message_data
Wimp_Message_data_claim_entity  #       Wimp_MessageClaimEntity
                                ^       Wimp_Message_data
Wimp_Message_data_data_request  #       Wimp_MessageDataRequest
                                ^       Wimp_Message_data
Wimp_Message_data_dragging      #       Wimp_MessageDragging
                                ^       Wimp_Message_data
Wimp_Message_data_drag_claim    #       Wimp_MessageDragClaim
                                ^       Wimp_Message_data
Wimp_Message_data_release_entity #       Wimp_MessageReleaseEntity
                                ^       Wimp_Message_data
Wimp_Message_data_app_control   #       Wimp_MessageAppControl
                                ^       Wimp_Message_data
Wimp_Message_data_reserved      #       236*Byte
Wimp_Message                    *       @

                                ^       0
Wimp_Block_redraw               #       Wimp_Draw
                                ^       0
Wimp_Block_open                 #       Wimp_Open
                                ^       0
Wimp_Block_close                #       Wimp_Close
                                ^       0
Wimp_Block_leaving              #       Wimp_Leaving
                                ^       0
Wimp_Block_entering             #       Wimp_Entering
                                ^       0
Wimp_Block_pointer              #       Wimp_Pointer
                                ^       0
Wimp_Block_dragged              #       Wimp_Dragged
                                ^       0
Wimp_Block_key                  #       Wimp_Key
                                ^       0
Wimp_Block_selection            #       Wimp_Selection
                                ^       0
Wimp_Block_scroll               #       Wimp_Scroll
                                ^       0
Wimp_Block_caret                #       Wimp_Caret
                                ^       0
Wimp_Block_pollword             #       Wimp_Pollword
                                ^       0
Wimp_Block_message              #       Wimp_Message
                                ^       0
Wimp_Block_reserved             #       256*Byte
Wimp_Block                      *       @

                                ^       0
Wimp_MessageList_messages       #       Int
Wimp_MessageList                *       @

                                ^       0
                                #       Bits
Wimp_Priority                   *       @

                                ^       0
                                #       Bits
Wimp_PlotIconFlags              *       @

                                ^       0
                                #       Int
Wimp_CommandWindowState         *       @

                                ^       0
                                #       Bits
Wimp_MenuStateFlags             *       @

                                ^       0
                                #       Int
Wimp_FilterAction               *       @

                                ^       0
                                #       Bits
WimpTextOp_StringWidthFlags     *       @

                                ^       0
                                #       Bits
WimpTextOp_PaintFlags           *       @


;Symbols for SWI's and SWI reason codes
XWimp_Initialise                *       &600C0
Wimp_Initialise                 *       &400C0
   ;Entry
   ;  R0 = version (Wimp_VersionNo)
   ;  R1 = &4B534154
   ;  R2 -> name (String)
   ;  R3 -> messages (Wimp_MessageList)
   ;Exit
   ;  R0 = version_out (Wimp_VersionNo)
   ;  R1 = task_out (Wimp_T)

XWimp_Init                      *       &600C0
Wimp_Init                       *       &400C0
   ;Entry
   ;  R0 = version (Wimp_VersionNo)
   ;  R1 = r1 (Bits)
   ;  R2 -> name (String)
   ;  R3 -> messages (Wimp_MessageList)
   ;Exit
   ;  R0 = version_out (Wimp_VersionNo)
   ;  R1 = task_out (Wimp_T)

XWimp_CreateWindow              *       &600C1
Wimp_CreateWindow               *       &400C1
   ;Entry
   ;  R1 -> window (Wimp_Window)
   ;Exit
   ;  R0 = w (Wimp_W)

XWimp_CreateIcon                *       &600C2
Wimp_CreateIcon                 *       &400C2
   ;Entry
   ;  R1 -> icon (Wimp_IconCreate)
   ;Exit
   ;  R0 = i (Wimp_I)

XWimp_CreateIconRelative        *       &600C2
Wimp_CreateIconRelative         *       &400C2
   ;Entry
   ;  R0 = neighbour (Wimp_I)
   ;  R1 -> icon (Wimp_IconCreate)
   ;Exit
   ;  R0 = i (Wimp_I)

XWimp_CreateIconPrioritised     *       &600C2
Wimp_CreateIconPrioritised      *       &400C2
   ;Entry
   ;  R0 = priority (Wimp_Priority)
   ;  R1 -> icon (Wimp_IconCreate)
   ;Exit
   ;  R0 = i (Wimp_I)

XWimp_DeleteWindow              *       &600C3
Wimp_DeleteWindow               *       &400C3
   ;Entry
   ;  R1 -> delete_window (sequence of (Wimp_W))
   ;Exit
   ;  R0 corrupted

XWimp_DeleteIcon                *       &600C4
Wimp_DeleteIcon                 *       &400C4
   ;Entry
   ;  R1 -> delete_icon (sequence of (Wimp_W, Wimp_I))
   ;Exit
   ;  R0 corrupted

XWimp_OpenWindow                *       &600C5
Wimp_OpenWindow                 *       &400C5
   ;Entry
   ;  R1 = open (pointer to Wimp_Open)
   ;  R2 = &0
   ;Exit
   ;  R0 corrupted

XWimp_OpenWindowNested          *       &600C5
Wimp_OpenWindowNested           *       &400C5
   ;Entry
   ;  R1 = open (pointer to Wimp_Open)
   ;  R2 = &4B534154
   ;  R3 = parent (Wimp_W)
   ;  R4 = linkage (Wimp_WindowNestingFlags)
   ;Exit
   ;  R0 corrupted
   ;  R2 corrupted

XWimp_OpenWindowNestedWithFlags *       &600C5
Wimp_OpenWindowNestedWithFlags  *       &400C5
   ;Entry
   ;  R1 = open (pointer to Wimp_WindowState)
   ;  R2 = &4B534154
   ;  R3 = parent (Wimp_W)
   ;  R4 = &1 :OR: linkage (Wimp_WindowNestingFlags)
   ;Exit
   ;  R0 corrupted
   ;  R2 corrupted

XWimp_CloseWindow               *       &600C6
Wimp_CloseWindow                *       &400C6
   ;Entry
   ;  R1 -> close_window (sequence of (Wimp_W))
   ;Exit
   ;  R0 corrupted

XWimp_Poll                      *       &600C7
Wimp_Poll                       *       &400C7
   ;Entry
   ;  R0 = mask (Wimp_PollFlags)
   ;  R1 = block (pointer to Wimp_Block)
   ;  R3 = pollword (pointer to Int)
   ;Exit
   ;  R0 = event (Wimp_EventNo)
   ;  R2 corrupted

XWimp_RedrawWindow              *       &600C8
Wimp_RedrawWindow               *       &400C8
   ;Entry
   ;  R1 = redraw (pointer to Wimp_Draw)
   ;Exit
   ;  R0 = more (Bool)

XWimp_UpdateWindow              *       &600C9
Wimp_UpdateWindow               *       &400C9
   ;Entry
   ;  R1 = update (pointer to Wimp_Draw)
   ;Exit
   ;  R0 = more (Bool)

XWimp_GetRectangle              *       &600CA
Wimp_GetRectangle               *       &400CA
   ;Entry
   ;  R1 = draw (pointer to Wimp_Draw)
   ;Exit
   ;  R0 = more (Bool)

XWimp_GetWindowState            *       &600CB
Wimp_GetWindowState             *       &400CB
   ;Entry
   ;  R1 = state (pointer to Wimp_WindowState)
   ;  R2 = &0
   ;Exit
   ;  R0 corrupted

XWimp_GetWindowStateAndNesting  *       &600CB
Wimp_GetWindowStateAndNesting   *       &400CB
   ;Entry
   ;  R1 = state (pointer to Wimp_WindowState)
   ;  R2 = &4B534154
   ;Exit
   ;  R0 corrupted
   ;  R2 corrupted
   ;  R3 = parent (Wimp_W)
   ;  R4 = linkage (Bits)

XWimp_GetWindowInfo             *       &600CC
Wimp_GetWindowInfo              *       &400CC
   ;Entry
   ;  R1 = info (pointer to Wimp_WindowInfo)
   ;Exit
   ;  R0 corrupted

XWimp_GetWindowInfoHeaderOnly   *       &600CC
Wimp_GetWindowInfoHeaderOnly    *       &400CC
   ;Entry
   ;  R1 = &1 :OR: info (pointer to Wimp_WindowInfo)
   ;Exit
   ;  R0 corrupted

XWimp_SetIconState              *       &600CD
Wimp_SetIconState               *       &400CD
   ;Entry
   ;  R1 -> state_change (sequence of (Wimp_W, Wimp_I, Wimp_IconFlags, Wimp_IconFlags))
   ;Exit
   ;  R0 corrupted

XWimp_SetIconStateFromBlock     *       &600CD
Wimp_SetIconStateFromBlock      *       &400CD
   ;Entry
   ;  R1 -> block (Wimp_SetIconStateBlock)
   ;Exit
   ;  R0 corrupted

XWimp_GetIconState              *       &600CE
Wimp_GetIconState               *       &400CE
   ;Entry
   ;  R1 = icon_state (pointer to Wimp_IconState)
   ;Exit
   ;  R0 corrupted

XWimp_GetPointerInfo            *       &600CF
Wimp_GetPointerInfo             *       &400CF
   ;Entry
   ;  R1 = pointer (pointer to Wimp_Pointer)
   ;Exit
   ;  R0 corrupted

XWimp_DragBox                   *       &600D0
Wimp_DragBox                    *       &400D0
   ;Entry
   ;  R1 -> drag (Wimp_Drag)
   ;Exit
   ;  R0 corrupted

XWimp_DragBoxWithFlags          *       &600D0
Wimp_DragBoxWithFlags           *       &400D0
   ;Entry
   ;  R1 -> drag (Wimp_Drag)
   ;  R2 = &4B534154
   ;  R3 = flags (Wimp_DragBoxFlags)
   ;Exit
   ;  R0 corrupted
   ;  R2 corrupted

XWimp_ForceRedraw               *       &600D1
Wimp_ForceRedraw                *       &400D1
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = x0 (Int)
   ;  R2 = y0 (Int)
   ;  R3 = x1 (Int)
   ;  R4 = y1 (Int)
   ;Exit
   ;  R0 corrupted

XWimp_ForceRedrawFurniture      *       &600D1
Wimp_ForceRedrawFurniture       *       &400D1
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = &4B534154
   ;  R2 = item (Wimp_Furniture)
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted

XWimp_ForceRedrawTitle          *       &600D1
Wimp_ForceRedrawTitle           *       &400D1
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = &4B534154
   ;  R2 = &3
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted

XWimp_SetCaretPosition          *       &600D2
Wimp_SetCaretPosition           *       &400D2
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = i (Wimp_I)
   ;  R2 = x (Int)
   ;  R3 = y (Int)
   ;  R4 = height (Int)
   ;  R5 = index (Int)

WimpSetCaretPositionExtended_Caret *       &0
   ;Entry
   ;  R0 = &4B534154
   ;  R1 -> caret (Wimp_Caret)
   ;  R2 = &0
   ;Exit
   ;  R0 corrupted

WimpSetCaretPositionExtended_Selection *       &2
   ;Entry
   ;  R0 = &4B534154
   ;  R1 -> selection (Wimp_TextSelection)
   ;  R2 = &2
   ;Exit
   ;  R0 corrupted

XWimp_GetCaretPosition          *       &600D3
Wimp_GetCaretPosition           *       &400D3
   ;Entry
   ;  R1 = caret (pointer to Wimp_Caret)
   ;Exit
   ;  R0 corrupted

WimpGetCaretPositionExtended_Caret *       &0
   ;Entry
   ;  R0 = &4B534154
   ;  R1 = caret (pointer to Wimp_Caret)
   ;  R2 = &0
   ;Exit
   ;  R0 corrupted

WimpGetCaretPositionExtended_Selection *       &2
   ;Entry
   ;  R0 = &4B534154
   ;  R1 = selection (pointer to Wimp_TextSelection)
   ;  R2 = &2
   ;Exit
   ;  R0 corrupted

XWimp_CreateMenu                *       &600D4
Wimp_CreateMenu                 *       &400D4
   ;Entry
   ;  R1 = menu (pointer to Wimp_Menu)
   ;  R2 = x (Int)
   ;  R3 = y (Int)
   ;Exit
   ;  R0 corrupted

XWimp_DecodeMenu                *       &600D5
Wimp_DecodeMenu                 *       &400D5
   ;Entry
   ;  R1 -> menu (Wimp_Menu)
   ;  R2 -> selection (Wimp_Selection)
   ;  R3 = decode (pointer to String)
   ;Exit
   ;  R0 corrupted

XWimp_WhichIcon                 *       &600D6
Wimp_WhichIcon                  *       &400D6
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = which (pointer to Wimp_I)
   ;  R2 = mask (Wimp_IconFlags)
   ;  R3 = match (Wimp_IconFlags)
   ;Exit
   ;  R0 corrupted

XWimp_SetExtent                 *       &600D7
Wimp_SetExtent                  *       &400D7
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 -> box (OS_Box)
   ;Exit
   ;  R0 corrupted

XWimp_SetPointerShape           *       &600D8
Wimp_SetPointerShape            *       &400D8
   ;Entry
   ;  R0 = shape_no (Int)
   ;  R1 -> shape_data (data)
   ;  R2 = width (Int)
   ;  R3 = height (Int)
   ;  R4 = xactive (Int)
   ;  R5 = yactive (Int)
   ;Exit
   ;  R0 corrupted

XWimp_OpenTemplate              *       &600D9
Wimp_OpenTemplate               *       &400D9
   ;Entry
   ;  R1 -> file_name (String)
   ;Exit
   ;  R0 corrupted

XWimp_CloseTemplate             *       &600DA
Wimp_CloseTemplate              *       &400DA
   ;Exit
   ;  R0 corrupted

XWimp_LoadTemplate              *       &600DB
Wimp_LoadTemplate               *       &400DB
   ;Entry
   ;  R1 = window (pointer to Wimp_Window)
   ;  R2 = data (pointer to String)
   ;  R3 -> end (Char)
   ;  R4 = font_ref (pointer to Byte)
   ;  R5 = name (pointer to String)
   ;  R6 = context (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 = data_used (Int)
   ;  R6 = context_out (Int)

XWimp_ProcessKey                *       &600DC
Wimp_ProcessKey                 *       &400DC
   ;Entry
   ;  R0 = c (Wimp_KeyNo)
   ;Exit
   ;  R0 corrupted

XWimp_CloseDown                 *       &600DD
Wimp_CloseDown                  *       &400DD
   ;Entry
   ;  R0 = t (Wimp_T)
   ;  R1 = &4B534154
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted

XWimp_StartTask                 *       &600DE
Wimp_StartTask                  *       &400DE
   ;Entry
   ;  R0 -> command (String)
   ;Exit
   ;  R0 = t (Wimp_T)

XWimp_ReportError               *       &600DF
Wimp_ReportError                *       &400DF
   ;Entry
   ;  R0 -> error (OS_Error)
   ;  R1 = flags (Wimp_ErrorBoxFlags)
   ;  R2 -> name (String)
   ;Exit
   ;  R0 corrupted
   ;  R1 = click (Wimp_ErrorBoxSelection)

XWimp_ReportErrorByCategory     *       &600DF
Wimp_ReportErrorByCategory      *       &400DF
   ;Entry
   ;  R0 -> error (OS_Error)
   ;  R1 = &100 :OR: flags (Wimp_ErrorBoxFlags)
   ;  R2 -> name (String)
   ;  R3 -> sprite_name (String)
   ;  R4 -> area (OSSpriteOp_Area)
   ;  R5 -> buttons (String)
   ;Exit
   ;  R0 corrupted
   ;  R1 = click (Wimp_ErrorBoxSelection)

XWimp_GetWindowOutline          *       &600E0
Wimp_GetWindowOutline           *       &400E0
   ;Entry
   ;  R1 = outline (pointer to Wimp_Outline)
   ;Exit
   ;  R0 corrupted

XWimp_PollIdle                  *       &600E1
Wimp_PollIdle                   *       &400E1
   ;Entry
   ;  R0 = mask (Wimp_PollFlags)
   ;  R1 = block (pointer to Wimp_Block)
   ;  R2 = t (OS_T)
   ;  R3 = pollword (pointer to Int)
   ;Exit
   ;  R0 = event (Wimp_EventNo)
   ;  R2 corrupted

XWimp_PlotIcon                  *       &600E2
Wimp_PlotIcon                   *       &400E2
   ;Entry
   ;  R1 -> icon (Wimp_Icon)
   ;Exit
   ;  R0 corrupted

XWimp_PlotIconWithWindow        *       &600E2
Wimp_PlotIconWithWindow         *       &400E2
   ;Entry
   ;  R1 -> icon (Wimp_Icon)
   ;  R2 = &4B534154
   ;  R3 = x_origin (Int)
   ;  R4 = y_origin (Int)
   ;  R5 = flags (Wimp_PlotIconFlags)
   ;  R6 = window (Wimp_W)
   ;Exit
   ;  R0 corrupted

XWimp_PlotIconWithSpriteArea    *       &600E2
Wimp_PlotIconWithSpriteArea     *       &400E2
   ;Entry
   ;  R1 -> icon (Wimp_Icon)
   ;  R2 = &4B534154
   ;  R3 = x_origin (Int)
   ;  R4 = y_origin (Int)
   ;  R5 = &1 :OR: flags (Wimp_PlotIconFlags)
   ;  R6 = background_colour (Wimp_Colour)
   ;  R7 -> sprite_area (OSSpriteOp_Area)
   ;Exit
   ;  R0 corrupted

XWimp_SetMode                   *       &600E3
Wimp_SetMode                    *       &400E3
   ;Entry
   ;  R0 = mode (OS_Mode)
   ;Exit
   ;  R0 corrupted

XWimp_SetPalette                *       &600E4
Wimp_SetPalette                 *       &400E4
   ;Entry
   ;  R1 -> palette (OS_Palette)
   ;Exit
   ;  R0 corrupted

XWimp_ReadPalette               *       &600E5
Wimp_ReadPalette                *       &400E5
   ;Entry
   ;  R1 = palette (pointer to OS_Palette)
   ;  R2 = &0
   ;Exit
   ;  R0 corrupted

XWimp_ReadTruePalette           *       &600E5
Wimp_ReadTruePalette            *       &400E5
   ;Entry
   ;  R1 = palette (pointer to OS_Palette)
   ;  R2 = &45555254
   ;Exit
   ;  R0 corrupted

XWimp_SetColour                 *       &600E6
Wimp_SetColour                  *       &400E6
   ;Entry
   ;  R0 = colour (Wimp_Colour)
   ;Exit
   ;  R0 corrupted

XWimp_SendMessage               *       &600E7
Wimp_SendMessage                *       &400E7
   ;Entry
   ;  R0 = event (Wimp_EventNo)
   ;  R1 = message (pointer to Wimp_Message)
   ;  R2 = to (Wimp_T)
   ;Exit
   ;  R0 corrupted
   ;  R2 corrupted

XWimp_SendMessageToWindow       *       &600E7
Wimp_SendMessageToWindow        *       &400E7
   ;Entry
   ;  R0 = event (Wimp_EventNo)
   ;  R1 = message (pointer to Wimp_Message)
   ;  R2 = to_w (Wimp_W)
   ;  R3 = to_i (Wimp_I)
   ;Exit
   ;  R0 corrupted
   ;  R2 = to_t (Wimp_T)

XWimp_CreateSubMenu             *       &600E8
Wimp_CreateSubMenu              *       &400E8
   ;Entry
   ;  R1 = sub_menu (pointer to Wimp_Menu)
   ;  R2 = x (Int)
   ;  R3 = y (Int)
   ;Exit
   ;  R0 corrupted

XWimp_BaseOfSprites             *       &600EA
Wimp_BaseOfSprites              *       &400EA
   ;Exit
   ;  R0 -> rom (OSSpriteOp_Area)
   ;  R1 -> ram (OSSpriteOp_Area)

XWimp_BlockCopy                 *       &600EB
Wimp_BlockCopy                  *       &400EB
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = x0 (Int)
   ;  R2 = y0 (Int)
   ;  R3 = x1 (Int)
   ;  R4 = y1 (Int)
   ;  R5 = X0 (Int)
   ;  R6 = Y0 (Int)

XWimp_SlotSize                  *       &600EC
Wimp_SlotSize                   *       &400EC
   ;Entry
   ;  R0 = new_curr_slot (Int)
   ;  R1 = new_next_slot (Int)
   ;Exit
   ;  R0 = curr_slot (Int)
   ;  R1 = next_slot (Int)
   ;  R2 = free_slot (Int)
   ;  R4 corrupted

XWimp_ReadPixTrans              *       &600ED
Wimp_ReadPixTrans               *       &400ED
   ;Entry
   ;  R0 = flags (OSSpriteOp_Flags)
   ;  R1 -> area (OSSpriteOp_Area)
   ;  R2 = id (OSSpriteOp_Id)
   ;  R6 = factors (pointer to OS_Factors)
   ;  R7 = trans_tab (pointer to OSSpriteOp_TransTab)
   ;Exit
   ;  R0 corrupted

XWimp_ClaimFreeMemory           *       &600EE
Wimp_ClaimFreeMemory            *       &400EE

WimpClaimFreeMemory_Alloc       *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 = size_out (Int)
   ;  R2 = blk (pointer to Void)

WimpClaimFreeMemory_Free        *       &0
   ;Entry
   ;  R0 = &0
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted
   ;  R2 corrupted

XWimp_CommandWindow             *       &600EF
Wimp_CommandWindow              *       &400EF
   ;Entry
   ;  R0 -> op (String)
   ;Exit
   ;  R0 corrupted

XWimp_CommandWindowActivate     *       &600EF
Wimp_CommandWindowActivate      *       &400EF
   ;Entry
   ;  R0 = &1
   ;Exit
   ;  R0 corrupted

XWimp_CommandWindowCloseWithPrompt *       &600EF
Wimp_CommandWindowCloseWithPrompt *       &400EF
   ;Entry
   ;  R0 = &0
   ;Exit
   ;  R0 corrupted

XWimp_CommandWindowClose        *       &600EF
Wimp_CommandWindowClose         *       &400EF
   ;Entry
   ;  R0 = &FFFFFFFF
   ;Exit
   ;  R0 corrupted

XWimp_CommandWindowReadState    *       &600EF
Wimp_CommandWindowReadState     *       &400EF
   ;Entry
   ;  R0 = &2
   ;Exit
   ;  R0 = state (Wimp_CommandWindowState)

XWimp_TextColour                *       &600F0
Wimp_TextColour                 *       &400F0
   ;Entry
   ;  R0 = colour (Wimp_Colour)
   ;Exit
   ;  R0 corrupted

XWimp_TransferBlock             *       &600F1
Wimp_TransferBlock              *       &400F1
   ;Entry
   ;  R0 = from_t (Wimp_T)
   ;  R1 = from (pointer to data)
   ;  R2 = to_t (Wimp_T)
   ;  R3 = to (pointer to data)
   ;  R4 = len (Int)
   ;Exit
   ;  R0 corrupted

XWimp_SetFontColours            *       &600F3
Wimp_SetFontColours             *       &400F3
   ;Entry
   ;  R1 = fg (Wimp_Colour)
   ;  R2 = bg (Wimp_Colour)
   ;Exit
   ;  R0 corrupted

XWimp_GetMenuState              *       &600F4
Wimp_GetMenuState               *       &400F4
   ;Entry
   ;  R0 = flags (Wimp_MenuStateFlags)
   ;  R1 = selection (pointer to Wimp_Selection)
   ;  R2 = w (Wimp_W)
   ;  R3 = i (Wimp_I)
   ;Exit
   ;  R0 corrupted

XWimp_RegisterFilter            *       &600F5
Wimp_RegisterFilter             *       &400F5
   ;Entry
   ;  R0 = type (Wimp_FilterAction)
   ;  R1 -> filter_code (code)
   ;  R2 = handle (pointer to data)
   ;Exit
   ;  R0 corrupted

XWimp_AddMessages               *       &600F6
Wimp_AddMessages                *       &400F6
   ;Entry
   ;  R0 -> messages (Wimp_MessageList)
   ;Exit
   ;  R0 corrupted

XWimp_RemoveMessages            *       &600F7
Wimp_RemoveMessages             *       &400F7
   ;Entry
   ;  R0 -> messages (Wimp_MessageList)
   ;Exit
   ;  R0 corrupted

XWimp_SetColourMapping          *       &600F8
Wimp_SetColourMapping           *       &400F8
   ;Entry
   ;  R1 -> palette (OS_Palette)
   ;  R2 -> map2 (Byte)
   ;  R3 -> map4 (Byte)
   ;  R4 -> map16 (Byte)
   ;  R5 = &0
   ;  R6 = &0
   ;  R7 = &0
   ;Exit
   ;  R0 corrupted

XWimp_TextOp                    *       &600F9
Wimp_TextOp                     *       &400F9

WimpTextOp_SetColour            *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 = fg (OS_Colour)
   ;  R2 = bg (OS_Colour)
   ;Exit
   ;  R0 corrupted

WimpTextOp_StringWidth          *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 -> s (String)
   ;  R2 = len (Int)
   ;Exit
   ;  R0 = width (Int)

WimpTextOp_StringWidthWithFlags *       &1
   ;Entry
   ;  R0 = &1 :OR: flags (WimpTextOp_StringWidthFlags)
   ;  R1 -> s (String)
   ;  R2 = len (Int)
   ;Exit
   ;  R0 = width (Int)

WimpTextOp_Paint                *       &2
   ;Entry
   ;  R0 = &2 :OR: flags (WimpTextOp_PaintFlags)
   ;  R1 -> s (String)
   ;  R2 = &FFFFFFFF
   ;  R3 = &FFFFFFFF
   ;  R4 = x0 (Int)
   ;  R5 = y0 (Int)

XWimp_SetWatchdogState          *       &600FA
Wimp_SetWatchdogState           *       &400FA
   ;Entry
   ;  R0 = enable (Bool)
   ;  R1 = code_word (Int)
   ;Exit
   ;  R0 corrupted

XWimp_ResizeIcon                *       &600FC
Wimp_ResizeIcon                 *       &400FC
   ;Entry
   ;  R0 = w (Wimp_W)
   ;  R1 = i (Wimp_I)
   ;  R2 = x0 (Int)
   ;  R3 = y0 (Int)
   ;  R4 = x1 (Int)
   ;  R5 = y1 (Int)
   ;Exit
   ;  R0 corrupted

XWimp_AutoScroll                *       &600FD
Wimp_AutoScroll                 *       &400FD
   ;Entry
   ;  R0 = flags (Wimp_AutoScrollFlags)
   ;  R1 = info (pointer to Wimp_AutoScrollInfo)
   ;Exit
   ;  R0 = flags_out (Wimp_AutoScrollFlags)

Service_Memory                  *       &11
   ;Entry
   ;  R0 = change (Int)
   ;  R1 = &11
   ;  R2 = cao (pointer to data)

Service_StartWimp               *       &49
   ;Entry
   ;  R1 = &49

Service_StartedWimp             *       &4A
   ;Entry
   ;  R1 = &4A

Service_MouseTrap               *       &52
   ;Entry
   ;  R1 = &52

Service_WimpCloseDown           *       &53
   ;Entry
   ;  R1 = &53

Service_WimpReportError         *       &57
   ;Entry
   ;  R0 = opening (Bool)
   ;  R1 = &57

Service_WimpSaveDesktop         *       &5C
   ;Entry
   ;  R0 = flags (Wimp_SaveDesktopFlags)
   ;  R1 = &5C
   ;  R2 = file (OS_F)
   ;Exit
   ;  R0 -> error (OS_Error)
   ;  R1 = unclaimed (Bool)

Service_WimpSaveDesktopW        *       &5C
   ;Entry
   ;  R0 = flags (Wimp_SaveDesktopFlags)
   ;  R1 = &5C
   ;  R2 = file (OS_FW)
   ;Exit
   ;  R0 -> error (OS_Error)
   ;  R1 = unclaimed (Bool)

Service_WimpPalette             *       &5D
   ;Entry
   ;  R1 = &5D

Service_DesktopWelcome          *       &7C
   ;Entry
   ;  R1 = &7C

Service_ShutDown                *       &7E
   ;Entry
   ;  R1 = &7E

Service_ShutDownComplete        *       &80
   ;Entry
   ;  R1 = &80

Service_WimpSpritesMoved        *       &85
   ;Entry
   ;  R1 = &85

Service_WimpRegisterFilters     *       &86
   ;Entry
   ;  R1 = &86

Service_ErrorStarting           *       &400C0
   ;Entry
   ;  R1 = &400C0
   ;  R2 -> error (OS_Error)
   ;  R3 = flags (Wimp_ErrorBoxFlags)
   ;  R4 -> name (String)
   ;  R5 -> sprite_name (String)
   ;  R6 -> area (OSSpriteOp_Area)
   ;  R7 -> buttons (String)
   ;Exit
   ;  R2 -> error_out (OS_Error)
   ;  R3 = flags_out (Wimp_ErrorBoxFlags)
   ;  R4 -> name_out (String)
   ;  R5 -> sprite_name_out (String)
   ;  R6 -> area_out (OSSpriteOp_Area)
   ;  R7 -> buttons_out (String)

Service_ErrorButtonPressed      *       &400C1
   ;Entry
   ;  R0 = &0
   ;  R1 = &400C1
   ;  R2 = button (Wimp_ErrorBoxSelection)
   ;  R3 -> button_list (String)
   ;Exit
   ;  R0 = redisplay (Bool)
   ;  R1 = unclaimed (Bool)
   ;  R2 = button_out (Wimp_ErrorBoxSelection)

Service_ErrorEnding             *       &400C2
   ;Entry
   ;  R1 = &400C2
   ;  R2 = button (Wimp_ErrorBoxSelection)
   ;Exit
   ;  R1 = unclaimed (Bool)
   ;  R2 = button_out (Wimp_ErrorBoxSelection)

        ]
        END
